package practica1.img;

import java.awt.Image;
import java.util.HashMap;
import javax.swing.ImageIcon;

/**
 * Clase que permite cargar imágenes dentro del paquete e implementa un buffer
 * de las mismas para optimizar la lectura a disco requiriéndose la operación
 * la primera vez que se carga la imagen
 * @author Miguel González - Ceura
 */
public class Imagenes {
    
    private static HashMap<String, Image> imagenes;
    
    /**
     * Constructor estático de la clase
     */
    static {
        imagenes = new HashMap<String, Image>();
    }
    
    /**
     * Devuelve una imagen
     * @param nombreImagen Nombre de la imagen
     * @return Image imagen
     */
    public static Image getImagen(String nombreImagen) {
        if(!imagenes.containsKey(nombreImagen)) {
            imagenes.put(nombreImagen, new ImageIcon(
            Imagenes.class.getResource(nombreImagen)
            ).getImage());
        }
        
        return imagenes.get(nombreImagen);
    }
}
